package com.sardine.base.hbase.session;

import java.io.Serializable;
import java.util.List;

/**
 * 上海京东到家元信信息技术有限公司<br>
 * Created with IntelliJ IDEA.
 * Date:2017/11/20
 * Time:16:20
 * 执行接口
 * @author daifeng<br>
 *         daifeng@imdada.cn
 * @since JDK 1.7 <br>
 * Copyright (c) 2017 imdada System Incorporated All Rights Reserved.
 */
public interface HBaseSession {

    /**
     * 插入一条记录
     *
     * @param t
     * @return
     */
    boolean insert(Object t);

    /**
     * 同步插入一组数据
     * @param t
     * @return
     */
    boolean insert(List<? extends Object> t);

    /**
     * 异步插入一组数据
     * @param t
     * @return
     */
    boolean insertAsync(List<? extends Object> t);

    /**
     *
     * 查询一条记录rowKey
     *
     * @param rowKey
     * @return
     */
    <T> T selectOne(Serializable rowKey, Class<T> aClass);

    /**
     * 批量查询一组rowkey
     *
     * @param rowKeyList
     * @return
     */
   <T> List<T> selectList(List<? extends Serializable> rowKeyList, Class<T> aClass);
}
